/**
 * author: zhou
 * date: 2017.10.20
 * description: 学校端路由入口
 * 
 */
const   Router            = require('koa-router'),
        schoolRouter      = new Router(),
        authGuard         = require('../utils/middlewares').authGuard,
        loginController   = require('../controllers/login/loginController'),
        gradeController   = require('../controllers/school/system/gradeController'),
        subjectController = require('../controllers/school/system/subjectController'),
        classController   = require('../controllers/school/system/classController'),
        roleController    = require('../controllers/school/system/roleController'),
        studentController = require('../controllers/school/system/studentController'),
        userController    = require('../controllers/school/system/userController');

// 登录管理
schoolRouter
    .post('/login', loginController.login)    // 登录
    .post('/logout', loginController.logout)  // 退出登录

/**
 * 系统设置
 */
// 年级管理
schoolRouter
    .post('/manage/grade/save', authGuard, gradeController.save)       // 保存年级信息
    .post('/manage/grade/findAll', authGuard, gradeController.findAll) // 查看全部年级信息
    .post('/manage/grade/findOne', authGuard, gradeController.findOne) // 查看年级信息
    .post('/manage/grade/update', authGuard, gradeController.update);  // 更新年级信息

// 学科管理
schoolRouter
    .post('/manage/subject/save', authGuard, subjectController.save)       // 保存学科信息
    .post('/manage/subject/findAll', authGuard, subjectController.findAll) // 查看全部学科信息
    .post('/manage/subject/findOne', authGuard, subjectController.findOne) // 查看科目信息
    .post('/manage/subject/update', authGuard, subjectController.update);  // 更新科目信息

// 班级管理
schoolRouter
    .post('/manage/class/save', authGuard, classController.save)              // 保存班级信息
    .post('/manage/class/findAll', authGuard, classController.findAll)        // 查看全部班级信息
    .post('/manage/class/findOne', authGuard, classController.findOne)        // 查看班级信息
    .post('/manage/class/update', authGuard, classController.update);         // 更新班级信息

// 角色管理
schoolRouter
    .post('/manage/role/save', authGuard, roleController.save)              // 保存班级信息
    .post('/manage/role/findAll', authGuard, roleController.findAll)        // 查看全部班级信息
    .post('/manage/role/findOne', authGuard, roleController.findOne)        // 查看班级信息
    .post('/manage/role/update', authGuard, roleController.update)          // 更新班级信息
    .post('/manage/role/menus', authGuard, roleController.menus);           // 获取菜单列表

// 班级管理
schoolRouter
    .post('/manage/student/save', authGuard, studentController.save)              // 保存学生信息
    .post('/manage/student/findAll', authGuard, studentController.findAll)        // 查看全部学生信息
    .post('/manage/student/findOne', authGuard, studentController.findOne)        // 查看学生信息
    .post('/manage/student/update', authGuard, studentController.update)          // 更新学生信息
    .post('/manage/student/del', authGuard, studentController.del)                // 删除学生

// 用户管理
schoolRouter
    .post('/manage/user/save', authGuard, userController.save)                    // 保存学校人员信息
    .post('/manage/user/findAll', authGuard, userController.findAll)              // 查看全部学生信息
    .post('/manage/user/findOne', authGuard, userController.findOne)              // 查看学生信息
    .post('/manage/user/update', authGuard, userController.update); 

module.exports = schoolRouter;